# 练习 10.14：验证⽤户 最后⼀个 remember_me.py 版本假设⽤户要么
# 已输⼊其⽤户名，要么是⾸次运⾏该程序。我们应修改这个程序，以
# 防当前⽤户并⾮上次运⾏该程序的⽤户。
# 为此，在 greet_user() 中打印欢迎⽤户回来的消息之前，询问他⽤
# 户名是否是对的。如果不对，就调⽤ get_new_username() 让⽤户
# 输⼊正确的⽤户名。

import json
from pathlib import Path

path = Path("chapter10.4/user_info2.json")


def get_new_username():
    user_name = input("输入姓名: ")
    user_info = [user_name]
    path.write_text(json.dumps(user_info))
    return user_name


def get_user_name(path):
    try:
        user_info = json.loads(path.read_text())
        return user_info[0]
    except FileNotFoundError:
        return None


def greet_user():
    user_name = get_user_name(path)
    if user_name:
        reply = input(f"⽤户名{user_name}是否是对的(y/n)？")
        if reply == "n":
         user_name = get_new_username()
    else:
        user_name = get_new_username()

    print('hello: ' + user_name)

greet_user()